package com.zhoux.api.io.io;

import java.io.*;

/**
 * @author taoyi
 * @version 1.0
 * @date 2021/3/29 17:21
 *
 * 本类用于测试转换字符输入流
 * 可以将读取的字节按照指定的字符集转换为字符
 */
public class ISR_Demo {
    public static void main(String[] args){
        InputStreamReader isr = null;
        //将osw.txt文件中的所有文字读取回来.
        try {
            isr = new InputStreamReader(new FileInputStream("osw.txt"), "UTF-8");
        /*
            字符流读一个字符的read方法定义:
            int read()
            读取一个字符,返回的int值实际上表示的是一个char(低16位有效).如果返回的
            int值表示的是-1则说明EOF
         */
            //测试读取文件中第一个字
//        int d = isr.read();
//        char c = (char)d;
//        System.out.println(c);

            //循环将文件所有字符读取回来
            int d;
            while ((d = isr.read()) != -1) {
                System.out.print((char) d);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                if (isr!=null){
                    isr.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}


